GUI Testing: Pitfalls and Process

نویسنده

  • Atif M. Memon
چکیده

G raphical user interfaces have become a nearly ubiquitous means of interacting with software systems. The GUI responds to user events, such as mouse movements or menu selections , providing a front end to the underlying application code. The GUI interacts with the underlying code through messages or method calls. GUIs make software easy to use, and developers are dedicating a larger portion of code to implementing them. GUIs can constitute as much as 60 percent of an application's total code today. The use of GUIs in safety-critical systems is also growing, making their correct operation imperative. Given their increased importance, testing GUIs for correctness can enhance the entire system's safety, robust-ness, and usability Current GUI testing techniques are incomplete, ad hoc, and largely manual. The most common tools use record-playback techniques. A test designer interacts with the GUI, generating mouse and keyboard events. The tool records the user events, captures the GUI session screens, and then stores the session—usually as a script. The tester later plays back the recorded sessions to recreate the events with different inputs. This process is extremely labor intensive , often relying on the test designer's ability to generate interesting GUI interactions. An automatic test case generator can provide a higher level of support, but a programmer must code it for all possible decision points in the GUI. Automated or not, the time-consuming record-playback approach easily misses important GUI decisions. A popular alternative is to release beta copies of the software and let the users do part of the testing. For example, Microsoft tested part of its Windows 95 software by releasing almost 400,000 beta copies. Software testing is already labor and resource intensive—often accounting for 50 to 60 percent of total software development costs—and GUI testing poses further difficulties that traditional software testing techniques do not adequately address. Conventional software uses coverage criteria as a guideline for determining testing adequacy. These criteria define sets of rules that test designers use to determine the type and amount of underlying code to test. For example , a criterion for " event coverage " might require all reachable events in a GUI to execute at least once during a complete cycle of test cases. However, traditional coverage criteria do not work well for GUIs. First, GUI software differs from the underlying application code in its level of abstraction, so mapping between GUI events and the underlying code …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Security testing of session initiation protocol implementations

The mechanisms which enable the vast majority of computer attacks are based on design and programming errors in networked applications. The growing use of voice over IP (VOIP) phone technology makes these phone applications potential targets. We present a tool to perform security testing of VOIP applications to identify security vulnerabilities which can be exploited by an attacker. Session Ini...

متن کامل

Automating tasks in GUI Test Case Generation

In a software project lifecycle, the software testing phase is expensive. By efficiently automating the testing process, we can significantly decrease the overall cost of software development and maintenance. Today, testing Graphical User Interfaces (GUI) has become an essential part in project validation. Consequently, the need for automating GUI testing has gained importance but due to the la...

متن کامل

GUI Reliability Assessment based on Bayesian Network and Structural Profile

Graphical User Interfaces (GUI) is becoming increasingly important in the software field as it builds a friendly way between users and software through continuous interactions. A well-developed GUI is therefore an important factor of software quality. In particular, the reliability of GUIs is still on the way of development. Existing software reliability assessment techniques attempt to statist...

متن کامل

Automated Model - based GUI Test Cases Generation from Use Cases

Mostly of today’s computer users interact with the software through a graphical user interface (GUI). In software engineering, software testing and quality have become a topic of major concern. Software testing is today an important stage in software projects and GUI testing is also crucial to the solution ́s quality. Nevertheless, GUI testing is not an easy task, it ́s very time consuming and to...

متن کامل

DART: A Framework for Regression Testing "Nightly/daily Builds" of GUI Applications

“Nightly/daily building and smoke testing” have become widespread since they often reveal bugs early in the software development process. During these builds, software is compiled, linked, and (re)tested with the goal of validating its basic functionality. Although successful for conventional software, smoke tests are difficult to develop and automatically rerun for software that has a graphica...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IEEE Computer

دوره 35  شماره 

صفحات  -

تاریخ انتشار 2002